IF exists(SELECT * FROM dbo.sysobjects WHERE name='WEB_gewijzigdVanDeWeek' AND xtype='P') 
BEGIN
	DROP PROCEDURE WEB_gewijzigdVanDeWeek
END
GO

create  procedure WEB_gewijzigdVanDeWeek(
@min integer)
as
set nocount on

-- Een tijdelijke tabel, die de XML-gegevens zal bevatten in de eerste rij, eerste kolom (T-SQL kan nl. geen text exporteren).
create table #werk  (tekst text null)
insert into #werk 
values ('')

-- Een pointer naar de XML-tekst:
declare @@ptrval varbinary(16)
select @@ptrval = textptr(tekst) from #werk

----------------------------------------------------------------------------
--             Header
----------------------------------------------------------------------------

updatetext #werk.tekst @@ptrval null 0 '<?xml version="1.0" encoding="ISO-8859-1" ?>'

----------------------------------------------------------------------------
--             Tekst
----------------------------------------------------------------------------

declare @startDag datetime
declare @datum1 dateTime
declare @datum2 dateTime
declare @datum varchar(20)
declare @deDatum varchar(100)

declare @dag varchar(100)
declare @dagdeel varchar(100)
declare @reden varchar(100)
declare @klas varchar(100)
declare @iNr varchar(100)
declare @leerling varchar(100)
declare @minus varchar(100)
declare @naam varchar(120)
declare @naam1 varchar(100)
declare @aanspreek varchar(100)

set @startDag = dateAdd(wk,@min,getDate())
set @datum2 = dateadd(dd,2-datepart(dw,@startdag),@startdag)
set @datum1 = dateadd(dd,6,@datum2)

declare deCursor cursor local for 
  select distinct t.naam,t.klas,convert(varchar(20),t.gewijzigdOp,103),t.naam1,t.inschrijvingsNr
  from(select top 100 percent  l.inschrijvingsNr,l.voornaam + ' ' + l.achternaam as naam,l.klas,
	 a.gewijzigdOp,l.naam1
   	from wijzigingen as a
 	left join leerlingen.dbo.leerlingen as l
	on l.inschrijvingsNr = a.inschrijvingsNr
   	where gewijzigdOp >= dateadd(dd,-1,@datum2) and gewijzigdOp < @datum1
	order by a.gewijzigdOp) as t
   	order by t.klas,t.naam1 ASC
  for read only

set @dag = '<dag>' + convert(varchar(20),@datum2,103) + ' - ' + convert(varchar(20),@datum1,103)  + '</dag>'
set @minus = '<minus>' + convert(varchar(10),@min)  + '</minus>'

updatetext #werk.tekst @@ptrval null 0 '<gewijzigd>'
updatetext #werk.tekst @@ptrval null 0 @dag
updatetext #werk.tekst @@ptrval null 0 @minus
updatetext #werk.tekst @@ptrval null 0 '<leerlingen>'
     
open deCursor
fetch next from deCursor into @naam, @klas, @datum,@naam1,@iNr
while (@@fetch_status=0)
  begin
    set @leerling = '<leerling iNr="' + @iNr + '">'
    set @naam = '<naam>' + isNull(@naam,'') + '</naam>'
    set @klas = '<klas>' + isNull(@klas,'') + '</klas>'
    set @deDatum = '<datum>' + isNull(@datum,'') + '</datum>'

    updatetext #werk.tekst @@ptrval null 0 @leerling
    updatetext #werk.tekst @@ptrval null 0 @naam
    updatetext #werk.tekst @@ptrval null 0 @klas
    updatetext #werk.tekst @@ptrval null 0 @deDatum
    updatetext #werk.tekst @@ptrval null 0 '</leerling>'
    fetch next from deCursor into @naam, @klas, @datum,@naam1,@iNr
  end
updatetext #werk.tekst @@ptrval null 0 '</leerlingen>'
updatetext #werk.tekst @@ptrval null 0 '</gewijzigd>'

select * from #werk
return